#include<iostream>
using namespace std;
/*
作用：最常用的排序算法，对数组内元素进行排序
1、比较相邻的元素，如果第一个比第二个大，就交换它们两个
2、对每一对相邻元素做同样的工作，执行完毕后，找到第一个最大值
3、重复以上的步骤，每次比较次数-1，知道不需要比较
*/
int main(){
    int arr[5]={4,2,1,5,3};
    int len=sizeof(arr)/sizeof(arr[0]);
    cout<<"排序前："<<endl;
    for(int i=0;i<len;i++){
        cout<<arr[i]<<" ";
    }
    cout<<endl;
    for(int i=0;i<len-1;i++){//i表示轮次，就是冒泡多少次，就是比数组长度少一次
        for(int j=0;j<len-1-i;j++){//j要小于当前要排序长度-1，因为下面j需要加1，以免数组越界
            if(arr[j]>arr[j+1]){//每次得到最大的数往后移
                int temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
    cout<<"排序后："<<endl;
    for(int i=0;i<len;i++){
        cout<<arr[i]<<" ";
    }
    cout<<endl;
    return 0;
}
